package net.servir.capacidades.service;

import java.util.LinkedList;
import java.util.List;

import net.servir.capacidades.model.Actividad;
import net.servir.capacidades.model.Ambito;
import net.servir.capacidades.model.Etapa;
import net.servir.capacidades.model.FuncionLeyenda;
import net.servir.capacidades.model.GenOption;
import net.servir.capacidades.model.PreguntaServicio;
import net.servir.capacidades.model.PreguntaTipo;
import net.servir.capacidades.model.PuestoTipo;
import net.servir.capacidades.model.Sistema;
import net.servir.capacidades.model.Enumerados.ProfundidadDatosSistema;

public interface SistemaAdmService {

	public List<Sistema> getSistemas(); 
	public Sistema getSistema(Number idSistema);
	public Sistema getSistema(Number idSistema,ProfundidadDatosSistema profundidad);
	public List<Ambito> getAmbitos();
	
	public Number grabarSistema(Sistema sistema);
	public Number grabarAmbito(Ambito ambito);	
	public Number grabarEtapa(Etapa etapa);
	public Number grabarFuncion(FuncionLeyenda funcion);
	public Number grabarActividad(Actividad actividad);
	
	public String validarEliminarSistema(Number idSistema);
	public void eliminarSistema(Number idSistema);
	public String validarEliminarAmbito(Number idAmbito);
	public void eliminarAmbito(Number idAmbito);
	public LinkedList<GenOption> getGrupoPuestoTipos();
	public String validarEliminarPuestoTipo(Number idPuestoTipo);
	public void eliminarPuestoTipo(Number idPuestoTipo);
	public Number grabarPuestoTipo(PuestoTipo puestoTipo);
	public String validarEliminarPreguntaTipo(Number idPuestoTipo);
	public void eliminarPreguntaTipo(Number idPuestoTipo);
	public String validarEliminarPreguntaServicio(Number idPreguntaServicio);
	public void eliminarPreguntaServicio(Number idPreguntaServicio);
	public Number grabarPreguntaTipo(PreguntaTipo preguntaTipo);
	public Number grabarPreguntaServicio(PreguntaServicio preguntaServicio);
	public void grabarSistemaBienvenida(Sistema sistema);
	
	public String validarEliminarActividad(Number idActividad);
	public void eliminarActividad(Number idActividad);
	public String validarEliminarFuncion(Number idFuncion);
	public void eliminarFuncion(Number idFuncion);
	public String validarEliminarEtapa(Number idEtapa);
	public void eliminarEtapa(Number idEtapa);
	
	
}
